home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / c64-preservation-project / educational / intro_to_basic_part_2[commodore_1983].nbz / bounce (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  969 b   |  37 lines

  1. 5 REM BOUNCING BALL
  2. 10 REM PROGRAM TO SHOW MOTION OF BALL
  3. 20 DATA0,0,0,0,0,0,0,112,0
  4. 30 DATA3,254,0,15,255,128,31,255,192
  5. 40 DATA63,255,224,63,255,224,127,255,240
  6. 50 DATA127,255,240,127,255,240,63,255,224
  7. 60 DATA63,255,224,31,255,192,15,255,128
  8. 70 DATA3,254,0,0,112,0,0,0,0
  9. 80 DATA0,0,0,0,0,0,0,0,0
  10. 100 REM SET UP SPRITE DESCRIPTION
  11. 110 FOR J=0TO62
  12. 120 READA: POKE 832+J,A
  13. 130 NEXTJ
  14. 140 V=53248 :REM SET BASE ADDRESS
  15. 150 POKE 2040,13:REM SET POINTER TO DESCRIPTION
  16. 160 POKE V+33,1:REM SET BACKGROUND
  17. 170 POKE V+39,0:REM SET  COLOUR
  18. 180 POKE V+23,0:POKEV+29,0:REM DO NOT EXPAND
  19. 190 REM DRAW STAIRCASE
  20. 200 C$="[144]                     [146]                           "
  21. 210 PRINT"[147]"
  22. 220 FOR J=1TO13
  23. 230 PRINTLEFT$(C$,3*J+2)
  24. 240 NEXTJ
  25. 250 POKEV+21,1 :REM ENABLE SPRITE
  26. 260 X=20:Y=20:REM SET STARTING POSITION
  27. 270 DX=2.3:DY=0:A=1.4
  28. 280 REM LOOP STARTS HERE
  29. 285 IFPEEK(V+31)=1ANDDY>0THENDY=-0.6*DY:Y=Y+DY:POKEV+1,Y
  30. 290 X=X+DX:Y=Y+DY:DY=DY+A
  31. 300 POKE V+1,Y
  32. 310 POKE V+0,(X AND 255)
  33. 320 IF X>=256 THEN POKE V+16,1:GOTO 340
  34. 330 POKE V+16,0
  35. 340 IF X < 450 AND Y+DY<255   THEN 285
  36. 350 GOTO 260
  37.